<?php 
use com\soka as soka;
use com\lib\Session;
class Planilla_Ctl extends soka\SokaController
{
	private $_pl, $_proy, $_trab, $_trapla;	
	public function _init()
	{
		new Session();
		$this->_pl = $this->setModel('planilla');
		$this->_proy = $this->setModel('proyecto');
		$this->_trapla = $this->setModel('trabajador_planilla');
		$this->_trab = $this->setModel('trabajador'); 
	}

	public function compareHours(){
		$this->view(false);

		if(strtotime('20:00:00') > strtotime('17:00:00'))
			echo true.'=>'. strtotime('20:00:00') - strtotime('17:00:00');

		echo time(1365087599);
	}
	public function empleadoProyecto()
 	{
 		$this->view(false);
 		$termino = isset($_GET['term']) ? $_GET['term'] : null;
		echo json_encode($this->_pl->id(Session::get('proyecto'))->getEmpleadoProyecto($termino));
	}


	public function index($id = null)
	{
     	(isset($_POST['submit']) && ($_POST['id'] == 0)) ? self::_add() : false;
     
		$this->con = $this->_pl->id((int)$id)->getById();
		$this->trapla = $this->_trapla->id((int)$id)->getById();
		isset($_POST['id']) ? self::_update(): false;	
		$this->datos = isset($_POST['btn_buscar']) ? $this->_pl->getAll(null, null, 
		array($_POST['cbo_busqueda']=> $_POST['txt_buscar'])) : $this->_pl->getAll();	
	}
	
	private function _add()
	{
		extract($_POST);
		// $p = $this->_pl->verify($entrada.':00',$salida.':00');
		// if  (isset($p['success'])) {
	 //   		$this->_trapla->fecha($fecha)->trabajador_id($trabajador)->planilla_id($p['id'])->add();
	 //   		$msg['error'] = 'El registro fue guardado correctamente.';
		// } else {
		$this->_pl->trabajador_id($trabajador)->fecha($fecha)->entrada($entrada)->salida($salida)->proyecto_id(Session::get('proyecto'))->add();
   				$msg['error'] = 'El registro fue guardado correctamente!';
		// $ult_pl = $this->_pl->ultimaPlanilla();
		// $this->_trapla->fecha($fecha)->trabajador_id($trabajador)->planilla_id($ult_pl[0]['ultima_planilla'])->add();
		// }	
		$this->messagge = $msg;
	}

	public function delete()
	{
		$this->view(false);
		if (isset($_POST['id_delete'])) {
			$this->_pl->id((int) $_POST['id_delete']);
			if($this->_pl->getById() && $this->_pl->estado() == 1) {
				if($this->_pl->del(false))
					$data['messagge'] = 'El registro fue desactivado correctamente.';
							$msg['causas'][]  = 'i';
			} else {
				if($this->_pl->del(true))
					$data['messagge'] = 'El registro fue activado correctamente.';
							$msg['causas'][]  = 'i';
			}
		}
		echo json_encode($data);
	}

	private function _update()
	{
		extract($_POST);
		if( ($id > 0) && 
			$this->_trapla->id($id)->fecha($fecha)
			->pla_id($list_planilla)->trab_id($list_trabajador)->add()
			&& 
			$this->_pl->id($id)->entrada($entrada)
			->salida($salida)->pro_id($list_proyecto)->add())
			$ho['error'] = 'El registro fue actualizado correctamente.';
				$this->messagge2=$ho;
	}
}